package com.ruoyi.record.mapper;

import java.util.List;

import com.ruoyi.record.domain.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

/**
 * 职称申报Mapper接口
 * 
 * @author ruoyi
 * @date 2024-05-09
 */
@Repository
public interface RecordProfessionalMapper extends BaseMapper<RecordProfessional>
{

    /**
     * 查询职称申报列表
     * 
     * @param recordProfessional 职称申报
     * @return 职称申报集合
     */
    public List<RecordProfessional> selectRecordProfessionalList(RecordProfessional recordProfessional);

    /**
     * 查询职称申报
     *
     * @param professionalId 职称申报主键
     * @return 职称申报
     */
    public RecordProfessional selectRecordProfessionalByProfessionalId(Long professionalId);

    /**
     * 职称申报审批查询
     * @param recordProfessional
     * @return
     */
    public List<RecordProfessional> selectVerifyProfessionalList(RecordProfessional recordProfessional);

    /**
     * 职称申报审批查询
     * @param recordProfessional
     * @return
     */
    public List<RecordProfessional> selectScoreProfessionalList(RecordProfessional recordProfessional);

    /**
     * 职称申报审批查询
     * @param recordProfessional
     * @return
     */
    public List<RecordProfessional> selectReviewProfessionalList(RecordProfessional recordProfessional);

    /**
     * 通过申请记录主键删除申请内容信息
     *
     * @param professionalId 申请记录ID
     * @return 结果
     */
    public int deleteRecordProfessionalInfo1ByProfessionalIds(Long[] professionalId);

    /**
     * 通过申请记录主键删除申请内容信息
     *
     * @param professionalId 申请记录ID
     * @return 结果
     */
    public int deleteRecordProfessionalInfo2ByProfessionalIds(Long[] professionalId);

    /**
     * 通过申请记录主键删除申请内容信息
     *
     * @param professionalId 申请记录ID
     * @return 结果
     */
    public int deleteRecordProfessionalInfo3ByProfessionalIds(Long[] professionalId);

    /**
     * 通过申请记录主键删除申请内容信息
     *
     * @param professionalId 申请记录ID
     * @return 结果
     */
    public int deleteRecordProfessionalInfo1ByProfessionalId(Long professionalId);

    /**
     * 通过申请记录主键删除申请内容信息
     *
     * @param professionalId 申请记录ID
     * @return 结果
     */
    public int deleteRecordProfessionalInfo2ByProfessionalId(Long professionalId);

    /**
     * 通过申请记录主键删除申请内容信息
     *
     * @param professionalId 申请记录ID
     * @return 结果
     */
    public int deleteRecordProfessionalInfo3ByProfessionalId(Long professionalId);

    /**
     * 批量新增论文
     *
     * @param info1List 申请内容列表
     * @return 结果
     */
    public int batchRecordProfessionalInfo1(List<RecordProfessionalInfo1> info1List);

    /**
     * 批量新增论文
     *
     * @param info2List 申请内容列表
     * @return 结果
     */
    public int batchRecordProfessionalInfo2(List<RecordProfessionalInfo2> info2List);

    /**
     * 批量新增论文
     *
     * @param info3List 申请内容列表
     * @return 结果
     */
    public int batchRecordProfessionalInfo3(List<RecordProfessionalInfo3> info3List);
}
